Use X macros to simplify ASTVisitor inheritance
#3990
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ASTVisitoritself is left as-is for now, as a sanity check against the contents ofrust-ast-visitable.h. This should slightly reduce the amount of repetition involved with inheriting fromASTVisitor, which might help us deal with the footgun that isExpandVisitorlater.Any ideas for generally solving
ExpandVisitorproblems à la #3445? I suppose havingExpandVisitorinherit fromASTVisitorinstead ofDefaultASTVisitormight help, but it doesn't seem ideal. Maybe transformingDefaultASTVisitorinto some kind of complex template so it can be specialized to operate as an in-place visitor?